\chapter{概述}
\verb!Tenon!是一门专用于机械臂程序开发的编程语言。

\verb!Tenon执行器!（TVM）可以加载并执行\verb!Tenon可执行程序!。
Tenon执行器可以移植到各个平台或硬件上，以方便的让Tenon可执行程序在各种平台上运行。

\verb!任务!(Task)是Tenon可执行程序的执行单元。一个Tenon可执行程序可以只包含一个任务，
也可以包含多个任务（MultiTask）。不同的任务运行在各自的线程中。

任务是由模块组成的，并且需要从其模块的函数中指定任务的入口函数，
默认的入口函数为main函数。\verb!库!（Library）也是由模块组成的，但不包含入口函数。
库主要是为了给其它的任务和库提供数据和算法。

\verb!模块!（Module）是Tenon程序编译和加载时的基本单元。\verb!Tenon程序的编译!是指从任务的Tenon源程序文件生成Tenon可执行文件的过程。
在此过程中，任务的每个模块的源程序文件会被分别编译为\verb!Tenon中间码文件!，然后汇编为Tenon可执行文件。
Tenon源程序文件一般以.t为后缀，Tenon可执行文件一般以.tbin为后缀。
一个Tenon源程序文件包含一个模块的数据和代码，
而一个Tenon中间码文件则包含一个模块的数据和代码的中间码表示。
划分模块的目的是将在功能上存在联系的数据和算法组合在一起，模块内紧耦合，模块间松耦合。

在模块的源程序中，可以定义变量（数据），或者编写函数（算法）。如果内置类型不能满足需求，
还可以在模块内添加用户自定义类型。
